let router = require('express').Router();
let models = require('../modles/index');

let Goods = models.Goods; // 获取 Goods 模型

// 查询商品列表
router.get("/list", function(req, res, next) {
    let params = {};

    // 分页
    let page = parseInt(req.query.page); // 当前页
    let pageSize = parseInt(req.query.pageSize); // 一页多少条
    let skipnum = (page - 1) * pageSize; // 跳过条数

    // 排序
    let sort = parseInt(req.query.sort);

    // 价格区间
    let priceLevel = req.query.priceLevel;
    var priceGt = '', priceLte = ''; // 最小区间(不含)与最大区间(含)
    if (priceLevel !== 'all') {
        switch(priceLevel) {
            case '0': 
                priceGt = 0;
                priceLte = 500;
            break;
            case '1': 
                priceGt = 500;
                priceLte = 1000;
            break;
            case '2': 
                priceGt = 1000;
                priceLte = 1500;
            break;
            case '3': 
                priceGt = 1500;
                priceLte = 999900;
            break;
        }
        params = {
            salePrice: {
                $gt: priceGt,
                $lte: priceLte
            }
        }
    }

    let goodsModel = Goods.find(params).skip(skipnum).limit(pageSize);
    goodsModel.sort({'salePrice': sort});
    goodsModel.exec(function(err, doc) {
        if (err) res.json({
            status: '1',
            msg: err.message
        });
        else res.json({
            status: 0,
            msg: '',
            result: {
                count: doc.length,
                list: doc
            }
        })
    })
})

// 加入购物车
router.post("/addCart", function(req, res, next) {
    let User = models.Users; // 获取 Users 模型

    let userId = '100000066';
    let productId = req.body.productId;

    // 查找某个用户
    User.findOne({"userId": userId}, function(err, userDoc) {
        if (err) res.json({
            status: '1',
            msg: err.message
        });
        else {
            // console.log(`userDoc: ${userDoc}`);
            if (userDoc) { // 如果有该用户
                let goodsItem = '';
                userDoc.cartList.forEach(function(item) {
                    if (item.productId == productId) {
                        goodsItem = item;
                        item.productNum++;
                    }
                });
                if (goodsItem) { // 购物车中有该商品
                    // 保存
                    userDoc.save(function(save_err, save_doc) {
                        if (save_err) res.json({
                            status: '1',
                            msg: save_err.message
                        });
                        else res.json({
                            status: '0',
                            msg: '',
                            result: '添加购物车成功'
                        })
                    })
                } else { // 购物车中没有该商品
                    // 查找该条商品
                    Goods.findOne({"productId": productId}, function(err, goodsDoc) {
                        if (err) res.json({
                            status: '1',
                            msg: err.message
                        });
                        else {
                            if (goodsDoc) { // 如果有该商品
                                // 添加字段
                                // goodsDoc['productNum'] = '1';
                                // goodsDoc['checked'] = '1';

                                // console.log(`goodsDoc: ${goodsDoc}`);

                                // 加入用户购物车
                                // userDoc.cartList.push(goodsDoc);

                                let goods = Object.assign({productNum:1, checked:1}, goodsDoc._doc);
                                userDoc.cartList.push(goods);
                                // 保存
                                userDoc.save(function(save_err, save_doc) {
                                    if (save_err) res.json({
                                        status: '1',
                                        msg: save_err.message
                                    });
                                    else res.json({
                                        status: '0',
                                        msg: '',
                                        result: '添加购物车成功'
                                    })
                                })
                            }
                        }
                    })
                }

            }
        }
    })
})

router.post("/addProduct", function(req, res, next) {
})

module.exports = router